Direct navigation through browser address bar

ABSTRACT

In one or more embodiments, a Web browser receives user input in the form of text that is entered in a suitably-configured text entry bar, such as an address bar. The web browser processes the text and ascertains whether the text appears to be a search or an attempted navigation. Based on whether the text appears to be a search or an attempted navigation, the web browser communicates the text to a search provider, along with an indication of whether the text appears to be a search or an attempted navigation. The search provider receives the text and the indication and can then take appropriate action as by returning a search results page or causing the web browser to be redirected to a website associated with the received text.

RELATED APPLICATION

This application is a continuation of U.S. patent application Ser. No.13/011,112, filed Jan. 21, 2011, entitled “Direct Navigation ThroughBrowser Address Bar”, the entire disclosure of which is herebyincorporated by reference herein in its entirety.

BACKGROUND

Users who do not remember the web address of a particular site in whichthey are interested often must use a search engine to find the site.Specifically, the user typically types in a keyword, and then receives asearch results page containing links that pertain to their search term.If a link on the search results page corresponds to the site in whichthey are interested, they can click on the corresponding site to benavigated to the site.

SUMMARY

This Summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This Summary is not intended to identify key features oressential features of the claimed subject matter, nor is it intended tobe used to limit the scope of the claimed subject matter.

In one or more embodiments, a Web browser receives user input in theform of text that is entered in a suitably-configured text entry bar,such as an address bar. The web browser processes the text andascertains whether the text appears to be a search or an attemptednavigation. Based on whether the text appears to be a search or anattempted navigation, the web browser communicates the text to a searchprovider, along with an indication of whether the text appears to be asearch or an attempted navigation. The search provider receives the textand the indication and can then take appropriate action. For example, ifthe indication indicates that the text appears to be a search, thesearch provider can return a search results page. On the other hand, ifthe indication indicates that the text appears to be an attemptednavigation, the search provider can cause the web browser to beredirected to a website associated with the received text.

In one or more embodiments, direct navigation through a Web browser'saddress bar can be facilitated by a specifically-configured URL that issent, by the Web browser, to a particular search provider. Thespecifically-configured URL contains the text entered by the user, aswell as an indication that the text is the subject of an attemptednavigation. The search provider can then use the text to perform amapping operation in which the text is mapped to a web addressassociated with a site that the search provider believes was the subjectof the attempted navigation. Once the Web address is ascertained by thesearch provider, the search provider can cause the Web browser to beredirected to the site associated with the Web address.

In one or more embodiments, direct navigation functionality is pluggablein the sense that direct navigation can be employed across multiplesearch providers which may be installed in the Web browser. Further, inat least some embodiments, the Web browser enables a user to switchbetween different search providers for purposes that include usingdirect navigation through the Web browser's address bar.

BRIEF DESCRIPTION OF THE DRAWINGS

The same numbers are used throughout the drawings to reference likefeatures.

FIG. 1 illustrates an operating environment in which various principlesdescribed herein can be employed in accordance with one or moreembodiments.

FIG. 2 illustrates aspects of a Web browser and a search provider inaccordance with one or more embodiments.

FIG. 3 illustrates an example user interface experience in accordancewith one or more embodiments.

FIG. 4 illustrates an example user interface experience in accordancewith one or more embodiments.

FIG. 5 is a flow diagram that describes steps in a method in accordancewith one or more embodiments.

FIG. 6 illustrates an example system that can be utilized to implementone or more embodiments.

DETAILED DESCRIPTION

Overview

In one or more embodiments, a Web browser receives user input in theform of text that is entered in a suitably-configured text entry bar,such as an address bar. The web browser processes the text andascertains whether the text appears to be a search or an attemptednavigation. Based on whether the text appears to be a search or anattempted navigation, the web browser communicates the text to a searchprovider, along with an indication of whether the text appears to be asearch or an attempted navigation. The search provider receives the textand the indication and can then take appropriate action. For example, ifthe indication indicates that the text appears to be a search, thesearch provider can return a search results page. On the other hand, ifthe indication indicates that the text appears to be an attemptednavigation, the search provider can cause the web browser to beredirected to a website associated with the received text.

In one or more embodiments, direct navigation through a Web browser'saddress bar can be facilitated by a specifically-configured, searchprovider-defined URL that is sent, by the Web browser, to a particularsearch provider that defined the URL. The specifically-configured URLcontains the text entered by the user, as well as an indication that thetext is the subject of an attempted navigation. The search provider canthen use the text to perform a mapping operation in which the text ismapped to a web address associated with a site that the search providerbelieves was the subject of the attempted navigation. Once the Webaddress is ascertained by the search provider, the search provider cancause the Web browser to be redirected to the site associated with theWeb address.

In one or more embodiments, direct navigation functionality is pluggablein the sense that direct navigation can be employed across multiplesearch providers which may be installed in the Web browser. Further, inat least some embodiments, the Web browser enables a user to switchbetween different search providers for purposes that include usingdirect navigation through the Web browser's address bar. This alsoallows a user to turn off this functionality so that they can simplysearch with a given search provider.

In the discussion that follows, a section entitled “OperatingEnvironment” is provided and describes one environment in which one ormore embodiments can be employed. Following this, a section entitled“Example Embodiment” describes an example embodiment. Next, a sectionentitled “Example Method” describes an example method in accordance withone or more embodiments. Last, a section entitled “Example System”describes a system that can be utilized to implement one or moreembodiments.

Consider now an example operating environment in which one or moreembodiments can be implemented.

Operating Environment

FIG. 1 illustrates an operating environment in accordance with one ormore embodiments, generally at 100. Environment 100 includes a computingdevice 102 having one or more processors 104, one or morecomputer-readable storage media 106 and one or more applications 108that reside on the computer-readable storage media and which areexecutable by the processor(s). The computer-readable storage media caninclude, by way of example and not limitation, all forms of volatile andnon-volatile memory and/or storage media that are typically associatedwith a computing device. Such media can include ROM, RAM, flash memory,hard disk, removable media and the like. One specific example of acomputing device is shown and described below in FIG. 6.

In addition, computing device 102 includes a software application in theform of a web browser 110. Any suitable web browser can be used examplesof which are available from the assignee of this document and others. Inaddition, computer-readable storage media 106 can include a directnavigation module 112 that operates as described above and below. In oneor more embodiments, the direct navigation module is implemented inconnection with a suitably-configured text entry bar, such as an addressbar, associated with the web browser.

In addition, environment 100 includes a network 114, such as theInternet, one or more web sites 116 from and to which content can bereceived and sent, and one or more search providers 118 that areconfigured to perform searches and return search results to browser 110.Website content can include webpage content, such as HTML, script andthe like.

In operation, Web browser 110 receives user input in the form of textthat is entered in a suitably-configured text entry bar, such as anaddress bar. The web browser 110 processes the text and ascertainswhether the text appears to be a search or an attempted navigation.Based on whether the text appears to be a search or an attemptednavigation, the web browser 110 communicates the text to a searchprovider, such as one of providers 118, along with an indication ofwhether the text appears to be a search or an attempted navigation.

The search provider receives the text and the indication and can thentake appropriate action. For example, if the indication indicates thatthe text appears to be a search, the search provider 118 can return asearch results page that can be rendered by the browser. If, on theother hand, the indication indicates that the text appears to be anattempted navigation, the search provider can cause the web browser 110to be redirected to a website associated with the received text.Examples of how this can be done are provided below.

Computing device 102 can be embodied as any suitable computing devicesuch as, by way of example and not limitation, a desktop computer, aportable computer, netbook, a handheld computer such as a personaldigital assistant (PDA), cell phone, and the like.

Having described an example operating environment, consider now adiscussion of an example embodiment.

Example Embodiment

FIG. 2 illustrates aspects of a Web browser 110 and a search provider118 in accordance with one or more embodiments. As in the above example,Web browser 110 includes a direct navigation module 112. In addition,search provider 118 includes a mapping module 200 that includes amapping data structure 202 that includes various mappings between textthat can be received by search provider 118 and associated Webaddresses.

In operation, Web browser 110 receives user input in the form of textthat is entered in a suitably-configured text entry bar, such as anaddress bar. The web browser 110 processes the text using the directnavigation module 112 and ascertains whether the text appears to be asearch or an attempted navigation.

In one or more embodiments, the Web browser 110 can ascertain whethertext entered by user appears to be a search or an attempted navigationbased on the format of the entered text. For example, the text that isentered may explicitly designate that it is a search such as, by way ofexample and not limitation, including a special character such as a “?”at the beginning of the text string. Alternately or additionally, thetext may be ascertained to be associated with the search by virtue of ahot key combination that is entered along with the text. Further, asearch can be initiated if a user selects a search suggestion that isreceived from a search provider. Other techniques can be used toindicate a search without departing from the spirit and scope of theclaimed subject matter.

Based on whether the text appears to be a search or an attemptednavigation, the web browser 110 communicates the text to search provider118 along with an indication of whether the text appears to be a searchor an attempted navigation. Any suitable type of indication can beutilized, as example of which is provided below.

Search provider 118 receives the text and the indication and can thentake appropriate action.

For example, if the indication indicates that the text appears to be asearch, the search provider 118 can return a search results page thatcan be rendered by the browser. If, on the other hand, the indicationindicates that the text appears to be an attempted navigation, thesearch provider's mapping module 200 utilizes the data structure 202 tomap the received text to a particular web address. The search providercan then cause the web browser 110 to be redirected to a websiteassociated with the received text and corresponding web address.

In the illustrated example, notice that several different spellings of“Wal-Mart” appear in the “text” column. Each of these differentspellings is mapped to the same corresponding web address. Any suitabletype of entry can appear in the “text” column such as those that usewild cards or regular expressions. This is useful in situations where,for example, a user may be unfamiliar with the web address associatedwith Wal-Mart, but yet understands that the web address may somehow berelated to the spelling of the store's name. The user may then enter, inthe Web browser's address bar, a spelling or misspelling of “Wal-Mart.”Based on the entered text, the Web browser or, more accurately, directnavigation module 112, provides the entered text and an indication thatthe text appears to be associated with a navigation, to the searchprovider 118. Accordingly, mapping module 200 uses the received text tomap a spelling or misspelling of “Wal-Mart” to the appropriate Webaddress. The search provider 118 can then provide or otherwise cause abrowser redirection of browser 110 to the corresponding web addressautomatically, thus providing for a direct navigation through the Webbrowser's address bar.

In one or more embodiments, direct navigation through a Web browser'saddress bar can be facilitated by a specifically-configured URL that issent, by the Web browser, to a particular search provider. Thespecifically-configured URL contains the text entered by the user, aswell as an indication that the text is the subject of an attemptednavigation. Any suitable type of specifically-configured URL can beutilized. As an example, consider the following element that defines onetype of specifically-configured URL:

-   -   <ie:TopResult type=“text/html”    -   template=“http://topresult.example.com/search.aspx?q={searchTerms}”/>

In this particular example, an element “TopResult” can be defined in anOpenSearch description file which is received by Web browser 110 fromsearch provider 118. The OpenSearch description file describes orotherwise defines how the browser should interface with the searchprovider 118. In this particular example, the “TopResult” element thatis received as part of the OpenSearch description file defines a URLthat is to be used by the Web browser and returned to the searchprovider to provide not only an indication that the text entered by theuser appears to be an attempted navigation, but also the actual textentered by the user, e.g., “{searchTerms}”.

Based on the information received in the specifically-configured URL,the search provider can then use the text to perform its mappingoperation in which the text is mapped to a web address associated with asite that the search provider believes was the subject of the attemptednavigation. Once the Web address is ascertained by the search provider,the search provider can cause the Web browser to be redirected to thesite associated with the Web address as described above. In the eventthat the text entered by user is associated with a search, and the Webbrowser can use a typical search URL to send the text to search provider118.

In one or more embodiments, direct navigation functionality is pluggablein the sense that direct navigation can be employed across multiplesearch providers which may be installed in the Web browser. Pluggabilityacross multiple search providers can occur by individual searchproviders providing, as part of its OpenSearch description file, a“TopResult” element as described above.

Further, in at least some embodiments, the Web browser enables a user toswitch between different search providers for purposes that includeusing direct navigation through the Web browser's address bar. That is,if multiple different search providers are installed in the browser andsupport direct navigation functionality, when the user switches betweensearch providers, direct navigation functionality will be exposed to theuser in a seamless and transparent manner.

As an example user interface experience, consider FIG. 3 whichillustrates an example Web browser generally at 300 that includes anaddress bar 302. Notice that a user has typed in “wallmart” into theaddress bar 302. As a result, and in connection with the processingdescribed just above, the Web browser can inform a selected searchprovider of the text that the user has entered along with an indicationthat the text appears to be associated with an attempted navigation. Thesearch provider can process the text as described above and can cause aredirection of the Web browser to a Web address associated with theWal-Mart site. As an example, consider FIG. 4.

There, Web browser 300 has been automatically redirected to the Wal-Martwebsite and “http://www.walmart.com/” now appears in address bar 304. Inthis example, the Web browser can be automatically navigated to a sitewithout the user having to select a link associated with the site, suchas one appearing on a search results page, or performing any other useraction.

Having described an example embodiment including a user interfaceexperience in accordance with one or more embodiments, consider now anexample method in accordance with one or more embodiments.

Example Method

FIG. 5 is a flow diagram that describes steps in a method in accordancewith one or more embodiments. The method can be performed by anysuitably-configured software, hardware, firmware, or combinationthereof. In at least some embodiments, some aspects of the method can beperformed by a suitably-configured Web browser such as that describedabove, and other aspects of the method can be performed by asuitably-configured search provider.

Step 500 receives, using a suitably-configured Web browser, user inputin the form of text that is entered by user. Examples of how this can bedone are provided above. Step 502 processes the text to ascertainwhether the text is associated with a search or an attempted navigation.Examples of how this can be done are provided above. If, at step 504,the text is ascertained to be associated with a search, step 506 selectsa suitable search URL and sends the search URL along with the text to asearch provider. If, on the other hand, step 504 ascertains that thetext is not associated with a search but rather is associated with anattempted navigation, step 508 selects a navigation URL and sends thenavigation URL along with the text to the search provider.

Step 510 receives, at the search provider, the URL provided from the Webbrowser. Step 512 ascertains whether the URL is associated with anavigation. If not, step 514 returns a search result page to the Webbrowser that contains search results associated with the text that wasreceived. If, on the other hand, step 512 ascertains that the URL isassociated with a navigation, step 516 ascertains a Web addressassociated with the text and step 518 causes a redirection of the Webbrowser to the Web address.

As a result, step 520 automatically navigates the Web browser to the Webaddress as a result of the redirection caused by the search provider.

Having described an example method in accordance with one or moreembodiments, consider now an example system that can be utilized toimplement one or more of the above-described embodiments.

Example System

FIG. 6 illustrates an example computing device 600 that can be used toimplement the various embodiments described above. Computing device 600can be, for example, computing device 102 of FIG. 1 or any othersuitable computing device.

Computing device 600 includes one or more processors or processing units602, one or more memory and/or storage components 604, one or moreinput/output (I/O) devices 606, and a bus 608 that allows the variouscomponents and devices to communicate with one another. Bus 608represents one or more of any of several types of bus structures,including a memory bus or memory controller, a peripheral bus, anaccelerated graphics port, and a processor or local bus using any of avariety of bus architectures. Bus 608 can include wired and/or wirelessbuses.

Memory/storage component 604 represents one or more computer storagemedia. Component 604 can include volatile media (such as random accessmemory (RAM)) and/or nonvolatile media (such as read only memory (ROM),Flash memory, optical disks, magnetic disks, and so forth). Component604 can include fixed media (e.g., RAM, ROM, a fixed hard drive, etc.)as well as removable media (e.g., a Flash memory drive, a removable harddrive, an optical disk, and so forth).

One or more input/output devices 606 allow a user to enter commands andinformation to computing device 600, and also allow information to bepresented to the user and/or other components or devices. Examples ofinput devices include a keyboard, a cursor control device (e.g., amouse), a microphone, a scanner, and so forth. Examples of outputdevices include a display device (e.g., a monitor or projector),speakers, a printer, a network card, and so forth.

Various techniques may be described herein in the general context ofsoftware or program modules. Generally, software includes routines,programs, objects, components, data structures, and so forth thatperform particular tasks or implement particular abstract data types. Animplementation of these modules and techniques may be stored on ortransmitted across some form of computer readable media. Computerreadable media can be any available medium or media that can be accessedby a computing device. By way of example, and not limitation, computerreadable media may comprise “computer-readable storage media”.

“Computer-readable storage media” include volatile and non-volatile,removable and non-removable media implemented in any method ortechnology for storage of information such as computer readableinstructions, data structures, program modules, or other data.Computer-readable storage media include, but are not limited to, RAM,ROM, EEPROM, flash memory or other memory technology, CD-ROM, digitalversatile disks (DVD) or other optical storage, magnetic cassettes,magnetic tape, magnetic disk storage or other magnetic storage devices,or any other medium which can be used to store the desired informationand which can be accessed by a computer.

CONCLUSION

In one or more embodiments, a Web browser receives user input in theform of text that is entered in a suitably-configured text entry bar,such as an address bar. The web browser processes the text andascertains whether the text appears to be a search or an attemptednavigation. Based on whether the text appears to be a search or anattempted navigation, the web browser communicates the text to a searchprovider, along with an indication of whether the text appears to be asearch or an attempted navigation. The search provider receives the textand the indication and can then take appropriate action. For example, ifthe indication indicates that the text appears to be a search, thesearch provider can return a search results page. On the other hand, ifthe indication indicates that the text appears to be an attemptednavigation, the search provider can cause the web browser to beredirected to a website associated with the received text.

In one or more embodiments, direct navigation through a Web browser'saddress bar can be facilitated by a specifically-configured, searchprovider-specified URL that is sent, by the Web browser, to a particularsearch provider. The specifically-configured URL contains the textentered by the user, as well as an indication that the text is thesubject of an attempted navigation. The search provider can then use thetext to perform a mapping operation in which the text is mapped to a webaddress associated with a site that the search provider believes was thesubject of the attempted navigation. Once the Web address is ascertainedby the search provider, the search provider can cause the Web browser tobe redirected to the site associated with the Web address.

In one or more embodiments, direct navigation functionality is pluggablein the sense that direct navigation can be employed across multiplesearch providers which may be installed in the Web browser. Further, inat least some embodiments, the Web browser enables a user to switchbetween different search providers for purposes that include usingdirect navigation through the Web browser's address bar.

Although the subject matter has been described in language specific tostructural features and/or methodological acts, it is to be understoodthat the subject matter defined in the appended claims is notnecessarily limited to the specific features or acts described above.Rather, the specific features and acts described above are disclosed asexample forms of implementing the claims.

What is claimed is:
 1. A computer-implemented method comprising:receiving, by an application of a computing device, user input in theform of text; processing, by the application, the text to ascertainwhether the text is associated with a search or a navigation; responsiveto the text being associated with a navigation; selecting, by theapplication, a navigation URL that is configured to provide to a searchprovider both the text and an indication that the text is associatedwith an attempted navigation to a site associated with a web address andusing the navigation URL to communicate the text to the search provideralong with the indication; and automatically navigating, by theapplication, to the site associated with the web address: and responsiveto the text being associated with a search, selecting, by theapplication, a different URL to provide to the search provider both thetext associated with a search and an indication that the text appears tobe a search.
 2. The computer-implemented method of claim 1, wherein theapplication is a web browser, and wherein the receiving is performedthrough an address bar associated with the web browser.
 3. Thecomputer-implemented method of claim 1, wherein the communicating isperformed using the navigation URL, wherein the selected different URLis a search URL, and wherein a format of the navigation URL is differentfrom a format of the search URL.
 4. The computer-implemented method ofclaim 1, wherein the application is a web browser and the communicatingis performed using the navigation URL, and after the communicating, themethod further comprising automatically redirecting the web browser to aweb address associated with the text, the redirecting being caused bythe search provider.
 5. The computer-implemented method of claim 1,wherein the application is a web browser that is configured to performthe communicating with multiple different search providers.
 6. Thecomputer-implemented method of claim 1, wherein the application a webbrowser that is configured to enable a user to switch between differentsearch providers for purposes that include performing the communicating.7. The computer-implemented method of claim 1, wherein the processing isperformed by ascertaining whether the text is associated with a searchor navigation based on the format of the text.
 8. Thecomputer-implemented method of claim 1, wherein the selected navigationURL is part of an OpenSearch description file that defines how a webbrowser interfaces with the search provider.
 9. A computing devicecomprising: one or more processors; and one or more computer-readablemedia storing instructions which, responsive to execution by the one ormore processors, implement a web browser capable of performingoperations including: receiving, by the web browser, user input in theform of text; presenting, by the web browser, at least one searchsuggestion relating to the user input capable of replacing the text ofthe user input; responsive to selection of the search suggestion,associating, by the web browser, the text with a search andcommunicating the text to a search provider; responsive to no selectionof the search suggestion, processing, by the web browser, the text toascertain whether the text is associated with a search or a navigation;responsive to the text being associated with a search or a navigation,communicating, by the web browser, the text to a search provider alongwith an indication of whether the text appears, respectively, to beassociated with a search or a navigation; and responsive to the textbeing associated with a navigation; selecting, by the web browser, anavigation URL that is configured to provide the text and the indicationto the search provider, the indication indicating that the text is asubject of an attempted navigation to a site associated with a webaddress; and automatically navigating, by the web browser, to the siteassociated with the web address.
 10. The computing device of claim 9,wherein the navigation URL is different from a search URL.
 11. Thecomputing device of claim 9, wherein the web browser is configured toperform the communicating with multiple different search providers. 12.The computing device of claim 9, wherein the selected navigation URL isspecified in an OpenSearch description file.
 13. The computing device ofclaim 9, wherein the web browser is configured to enable a user toswitch between different search providers for purposes that includeperforming the communicating.
 14. The computing device of claim 9,wherein the processing is performed by ascertaining whether the text isassociated with a search or navigation based on the format of the text.15. A method implemented by a computing device, the method comprising:receiving, with a web browser, user input in the form of text; basedupon a format of the user input, selecting, by the web browser, fromamong at least two different URLs, a first of the URLs being configuredto enable a search provider to cause a redirection of the web browser toa web address associated with the user input based at least in part onan indication that the text is the subject of an attempted navigation tothe web address, a second of the URLs being configured to enable thesearch provider to return, to the web browser a search results pageassociated with the user input based at least in part on an indicationthat the text is the subject of an attempted search; automaticallynavigating, by the web browser, to the web address responsive toselecting the first of the URLs: and presenting, with the web browser, aweb page associated with the selected URL.
 16. The method of claim 15,wherein the web browser is configured to select from among the at leasttwo different URLs for multiple different search providers.
 17. Themethod of claim 15, wherein at least one of the at least two differentURLs is specified in an OpenSearch description file provided by thesearch provider.
 18. The method of claim 15, wherein the web browser isconfigured to enable the search provider to cause redirection of the webbrowser without further user action.
 19. The method of claim 15, whereinpresenting the web page associated with the selected URL furthercomprises presenting a URL of the presented web page in an address barassociated with the web browser.
 20. The method of claim 15, wherein theformat of the user input includes a special character or a hot keycombination designating that the user input is a search input.